'use strict'


const Controller = require('egg').Controller;

class HomeController extends Controller {
  async index() {
    // this通常会被框架绑定到当前请求的上下文（context），这个上下文包含了请求（request）、响应（response）以及其它与当前请求相关的信息。
    const { ctx } = this;
    //ctx.query是一个对象，包含了URL的查询字符串参数。/home?id=123 ctx.query将会是{ id: '123' }
    // const {id}=ctx.query
    // // 设置响应内容
    // ctx.body = id
    await ctx.render(
      'index.html', {
      title: '我是坤坤',//将title注入index.html
    }
    )
  }
  // 获取用户信息
  async user() {
    const { ctx } = this
    // const {id}=ctx.params//params获取申明参数 /user/55 id就等于55
    const result = await ctx.service.home.user()
    // ctx.body=id
    ctx.body = result
  }
  // post 请求方法
  async add() {
    const { ctx } = this
    // // Egg 框架内置了 bodyParser 中间件来对 POST 请求 body 解析成 object 挂载到 ctx.request.body 上
    const { title } = ctx.request.body//postman带给他的 postman请求服务端 
    console.log(title);
    ctx.body = {//响应体 postman收到的 成功从服务器发出的参数
      id: '我是脏脏段'
    }
  }
  async addUser() {
    const { ctx } = this;
    const { name } = ctx.request.body;
    try {
      console.log('add_user');

      const result = await ctx.service.home.addUser(name);
      console.log('add_user');
      ctx.body = {
        code: 200,
        msg: '添加成功',
        data: null
      }
    } catch (error) {
      ctx.body = {
        code: 500,
        msg: '添加失败',
        data: null
      }
    }
  }
  async editUser() {
    const { ctx } = this
    const { id, name } = ctx.request.body
    try {
      const result = await ctx.service.home.editUser(id, name)
      ctx.body = {
        code: 200,
        msg: '添加成功',
        data: null
      }
    } catch (error) {
      ctx.body = {
        code: 500,
        msg: '添加失败',
        data: null
      }
    }
  }
  // 删除
  async deleteUser() {
    const { ctx } = this;
    const { id } = ctx.request.body;
    try {
      const result = await ctx.service.home.deleteUser(id);
      ctx.body = {
        code: 200,
        msg: '删除成功',
        data: null
      }
    } catch (error) {
      ctx.body = {
        code: 500,
        msg: '删除失败',
        data: null
      }
    }
  }

}

module.exports = HomeController;
